From: Florian Müllner Date: Thu, 2 Sep 2021 14:23:38 +0000 (+0200) Subject: introspect: Make invocation check error-based X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~574^2^2~33 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=3b9e672a09dc6cdd997a579be9b310b60dcbb7bc;p=gnome-shell.git introspect: Make invocation check error-based If we throw an error when the invocation isn't allowed instead of returning false, we can simply return that error instead of duplicating the error handling. Part-of: --- diff --git a/js/misc/introspect.js b/js/misc/introspect.js index 85f491a69..3cb021cb1 100644 --- a/js/misc/introspect.js +++ b/js/misc/introspect.js @@ -137,21 +137,23 @@ var IntrospectService = class { type == Meta.WindowType.UTILITY; } - _isInvocationAllowed(invocation) { + _checkInvocation(invocation) { if (this._isIntrospectEnabled()) - return true; + return; if (this._isSenderAllowed(invocation.get_sender())) - return true; + return; - return false; + throw new GLib.Error(Gio.DBusError, + Gio.DBusError.ACCESS_DENIED, + 'App introspection not allowed'); } GetRunningApplicationsAsync(params, invocation) { - if (!this._isInvocationAllowed(invocation)) { - invocation.return_error_literal(Gio.DBusError, - Gio.DBusError.ACCESS_DENIED, - 'App introspection not allowed'); + try { + this._checkInvocation(invocation); + } catch (e) { + invocation.return_gerror(e); return; } @@ -163,10 +165,10 @@ var IntrospectService = class { let apps = this._appSystem.get_running(); let windowsList = {}; - if (!this._isInvocationAllowed(invocation)) { - invocation.return_error_literal(Gio.DBusError, - Gio.DBusError.ACCESS_DENIED, - 'App introspection not allowed'); + try { + this._checkInvocation(invocation); + } catch (e) { + invocation.return_gerror(e); return; }